草庐IT

java - android anonymous asyncTask - 它会导致内存泄漏吗

全部标签

javascript - .mousemove 和内存,我需要优化吗?

我在这里创建了一个简单的光测试演示:http://jsfiddle.net/CGr9d/当我使用Chrome开发工具记录内存使用情况时,我得到:http://cl.ly/LSDl,它基本上上升到某个点然后再次下降并重新开始,直到再次达到之前的高点。这正常吗?有什么方法可以优化我的代码以减少内存占用吗?这是我的mousemove函数:$('body').mousemove(function(e){//2000ishalftheimagewidth/height,ofcourseusedforcentering$('.light-circle').css({backgroundPositi

javascript - 为什么for循环初始化中的 'in window'会导致语法错误?

这有效。vara='ontouchstart'inwindow;for(;;){console.log(a);break;}这会导致语法错误。为什么?for(vara='ontouchstart'inwindow;;){console.log(a);break;}这有效。for(vara=('ontouchstart'inwindow);;){console.log(a);break;} 最佳答案 Thiscausessyntaxerror.Why?避免与for-in-loops混淆。syntaxspecificationforfo

javascript - 在 Internet Explorer 11 中加载巨大的数组导致堆栈溢出

我有一个(生成的)页面,其中有一个非常大的锯齿状数组。它不会在IE11中初始化;我得到SCRIPT28:Outofstackspace和SCRIPT2343:Stackoverflowatline:1。我已经使用随机数据将有问题的页面减少到最低限度,这就是它的样子:Loading...vard=[];vari=0;d[i++]=["XHC_14",0];d[i++]=["ZXS_26","UVT_27","QML_3149","MJO_3150",15993327];d[i++]=["VKG_3156","ZEA_3157","KZG_3159","MNA_3162","AKX_316

javascript - 从 IIS 提供 ember 应用程序导致 UnrecognizedURLError

我正在尝试从IIS提供一个ember应用程序。我使用embernewmy-app创建了一个新应用,然后运行​​emberbuild--environmentproduction。这会按预期在dist目录中生成文件。在IIS端,我在服务器上添加了一个新网站,并映射了上一步中的dist文件夹。现在,当我导航到localhost/index.html时,我得到一个空白页面。我检查了页面的来源,并且js文件按预期正确提供。这意味着它是没有被正确检索的模板。在chrome检查器控制台中,有一个异常显示Uncaught:UnrecognizedURLError:/index.html。ember检

javascript - jQuery UI 1.7.3 datepicker 与 date.js 冲突导致 "too much recursion"?

我正在尝试在jQueryUI对话框中使用jQueryUI1.7.3日期选择器小部件。对话框的内容来自一个页面模板,其中包括使页面功能所需的所有各种javascript导入。我还导入的其中一个东西是著名的date.js文件。我在对话框中加载的这个页面本身也作为独立页面存在。日期选择器在那里就像一个魅力。当我在对话框中加载它时,一切都中断了。当焦点位于日期输入字段时,日期选择器应该出现。但是,我收到了这样一个令人作呕的错误:toomuchrecursion[Breakonthiserror]returnw;};Date.prototype.isDST=function...ase"z":r

javascript - 一个数组元素占用多少内存?

我认为浏览器之间可能存在差异,但是我如何在Javascript中找出一个数组或它的一个元素占用多少内存?我想弄清楚使用类型化数组时我节省了多少空间。提前致谢! 最佳答案 这取决于很多方面。用于存储变量的引用的长度在大小上可能会有所不同(如果您没有使用关联数组,JS中实际上不存在关联数组,但那是另外的讨论)。商品本身的尺寸也可能不同。基本上,用于存储特定类型对象的二进制表示就是内存。8位int使用1个字节。16位int使用2个字节。字符串中的一个字符使用2个或4个字节(由于UTF-16)。如果您想更好地了解大小/速度/执行时间,我认为

javascript - 在将 Squire.js 与 RequireJS 和 Mocha 一起使用时,如何避免引入全局泄漏?

我正在使用Backbone和Backbone.Marionette编写单页JavaScript应用程序。我正在使用AMD模块和RequireJS来帮助组织我的代码和管理依赖项。我也在使用Mocha作为我的TDD/BDD测试框架。一切正常,直到我想使用Sinon.JS引入stub、模拟和spy。经过大量搜索,我在testframeworksintheRequireJSwiki上找到了一个页面和Squire.js,这似乎很适合我的需要。但是,当我尝试使用Squire.js加载模块时,Mocha突然报告模块依赖项的全局泄漏。如果我直接使用Require.JS加载模块,则没有泄漏报告。例如,下

JavaScript 内存泄漏 (Node.js/Restify/MongoDB)

更新4:通过在函数外部实例化restify客户端(参见controllers/messages.js)并在每次请求后调用global.gc(),内存增长率似乎已降低很多(每10秒约500KB)。然而,内存使用量仍在不断增长。更新3:遇到这篇文章:https://journal.paul.querna.org/articles/2011/04/05/openssl-memory-use/可能值得注意的是,我将HTTPS与Restify结合使用。更新2:将下面的代码更新为当前状态。我试过用Express替换Restify。遗憾的是,这没有任何区别。似乎链末端的api调用(restify->

javascript - 使用适当的 GC 删除 DOM 节点(无泄漏)

问题添加节点,同时从DOM中删除旧节点,不会从内存中丢弃旧节点。(至少不是全部,没有明显的原因)。如何看待这种情况(你已经知道了,但无论如何..)右键单击输出区域并使用Chrome开发人员工具进行检查。单击时间轴选项卡,然后单击左上角的圆圈(点)开始录制。现在点击body元素,它将开始每300ms添加和删除项目(删除的节点应该被垃圾收集)。停止记录,将数据采样区域扩展到最大,您将在屏幕的下半部分看到绿色的节点。预期的图形将上下波动(其中向下表示节点已被GC正确丢弃)。测试页面这2个测试页面非常原始。当然,在现实生活中,开发人员使用生成大量文本的模板,这些文本应转换为DOM并注入(inj

javascript - 动态变量而不是静态变量导致 JS 变慢?

我有一个库,它经常使用Node的“getAttribute”函数。因此,如果我有node[getAttributeStr](),而不是将它作为node.getAttribute(),我可以将getAttributeStr作为本地字符串值“getAttribute”,这将被缩小以减少代码的大小。我的问题是,如果我对所有最常用的函数名都这样做,与直接使用静态名称访问函数相比,它会减慢执行速度吗?node.getAttribute("abc");上面的代码将被替换为。vargetAttributeStr="getAttribute";node[getAttributeStr]("abc")我